package br.com.appclassificados.testes;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import br.com.appclassificados.dao.PessoaDao;
import br.com.appclassificados.model.Pessoa;


@ManagedBean(name="pessoaDaoTeste")
@SessionScoped
public class PessoaDaoTeste {
	
	private Pessoa pes;
	
	// Construtor
	public PessoaDaoTeste(){
		super();
	}
	
	// Metodos
	public String salvar () throws Exception{
		
		PessoaDao dao = new PessoaDao();
		
		Date dataUsuario = new SimpleDateFormat("dd/MM/yyyy").parse("20/08/1994");
		
		//Cadastrar
		this.pes = new Pessoa(1, "Joao", "123456789", "joao@gmail.com", dataUsuario, "senha");
		
		if(dao.insert(this.pes)){
			dao = new PessoaDao();
			dao.insert(this.pes);
			dao = new PessoaDao();
			dao.insert(this.pes);
			System.out.println("Cadastrado com exito.");
		}
		else
			System.out.println("Erro ao cadastrar.");
		
		//Editar
		this.pes = new Pessoa(2, "Maria", "987654321", "maria@gmail.com", dataUsuario);
		dao = new PessoaDao();
				
		if(dao.update(this.pes))
			System.out.println("Editado com exito.");
		else
			System.out.println("Erro ao Editar.");
					                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
		//Deletar
		this.pes = new Pessoa(3, "Maria", "987654321", "maria@gmail.com", dataUsuario);
		dao = new PessoaDao();
				if(dao.delete(this.pes))
					System.out.println("Deletado com exito.");
				else
					System.out.println("Erro ao deletar.");
		
		//List
		dao = new PessoaDao();
		List<Pessoa> list = dao.readList();
		System.out.println("\nLista");
				
		for(int i=0; i<list.size(); i++){
			System.out.println( "Id: "			+list.get(i).getId()+
								"\tNome: "		+list.get(i).getNome() +
								"\tFone: " 		+list.get(i).getFone() +
								"\tEmail: " 	+list.get(i).getEmail() +
								"\tData Nasc: " +list.get(i).getNascimento() +
								"\n\n");
		}
		
		//Searching...
		System.out.println("\nSeachs");
		
		//Seach id 
		dao = new PessoaDao();
		this.pes = dao.search(1);
				
		System.out.println("Id: "+this.pes.getId()+
				"\tNome: "		+this.pes.getNome() +
				"\tFone: " 		+this.pes.getFone() +
				"\tEmail: " 	+this.pes.getEmail() +
				"\tData Nasc: "	+this.pes.getNascimento() +
				"\n\n");
						
		//Seach descricao
		dao = new PessoaDao();
		this.pes = dao.search("Joa");
		
		System.out.println("Id: "+this.pes.getId()+
				"\tNome: "		+this.pes.getNome() +
				"\tFone: " 		+this.pes.getFone() +
				"\tEmail: " 	+this.pes.getEmail() +
				"\tData Nasc: "	+this.pes.getNascimento() +
				"\n\n");		
				
		return "";
		
	}//fim[salvar]
}
